//验证字符串中哪个字母出现的次数最多,多少次
let str = 'abbcccdddccc';// abbccccccddd
//使用正则如何实现
let result = 
[...str]//把字符串转成字符数组
//['a','b','b','c','c','c','d','d','d','c','c','c']
//把相同字符排列在一起，把字符进行排序
.sort()//['a','b','b','c','c','c','c','c','c','d','d','d']
.join('')// abbccccccddd 把字符数组重新连接成字符串
//正则里面的\1代表引用第一个分组的值
 //用正则匹配字符串，会返回数组，每个元素都是一个连续的字符序列
.match(/([a-z])\1*/g)//['a','bb','cccccc','ddd']
//按每个元素，也就是字符串的长度进行升序排序
.sort((a,b)=>a.length-b.length)//['a','bb','ddd','cccccc']
//找到最后面那一个最长的
.pop();
console.log(`${result[0]}出现了${result.length}`);

//不用正则如何实现
let charsCount = {}
for (let c of str){
   if(typeof charsCount[c]  === 'undefined'){
    charsCount[c]=1;
   }else{
    charsCount[c]+=1;
   }
}
const entries = Object.entries(charsCount);
let maxEntry=null;
for(let entry of entries){
    if(maxEntry){
        if(entry[1] > maxEntry[1]){
            maxEntry=entry;
        }
    }else{
        maxEntry=entry;
    }
}
//console.log(maxEntry[0],maxEntry[1]);